files=\
cd.o \
command_factory.o \
directory.o \
file.o \
file_system.o \
group.o \
groups.o \
halt.o \
ls.o \
main.o \
mkdir.o \
my_exit.o \
my_string.o \
node.o \
node_factory.o \
ping.o \
rmdir.o \
shell_controller.o \
shell_environment.o \
su.o \
user.o \
users.o

LINK=g++ -o 
COMPILE=g++ -c -Wall -ansi

linux:$(files)
	$(LINK) linux $(files)
cd.o:cd.cpp cd.h
	$(COMPILE) cd.cpp
command_factory.o:command_factory.cpp command_factory.h
	$(COMPILE) command_factory.cpp
directory.o:directory.cpp directory.h
	$(COMPILE) directory.cpp
file.o:file.cpp file.h
	$(COMPILE) file.cpp
file_system.o:file_system.cpp file_system.h
	$(COMPILE) file_system.cpp
group.o:group.cpp group.h
	$(COMPILE) group.cpp
groups.o:groups.cpp groups.h
	$(COMPILE) groups.cpp
halt.o:halt.cpp halt.h
	$(COMPILE) halt.cpp
ls.o:ls.cpp ls.h
	$(COMPILE) ls.cpp
mkdir.o:mkdir.cpp mkdir.h
	$(COMPILE) mkdir.cpp
my_exit.o:my_exit.cpp my_exit.h
	$(COMPILE) my_exit.cpp
my_string.o:my_string.cpp my_string.h
	$(COMPILE) my_string.cpp
node.o:node.cpp node.h
	$(COMPILE) node.cpp
node_factory.o:node_factory.cpp node_factory.h
	$(COMPILE) node_factory.cpp
ping.o:ping.cpp ping.h
	$(COMPILE) ping.cpp
rmdir.o:rmdir.cpp rmdir.h
	$(COMPILE) rmdir.cpp rmdir.h
shell_controller.o:shell_controller.cpp shell_controller.h
	$(COMPILE) shell_controller.cpp
shell_environment.o:shell_environment.cpp shell_environment.h
	$(COMPILE) shell_environment.cpp
su.o:su.cpp su.h
	$(COMPILE) su.cpp
user.o:user.cpp user.h
	$(COMPILE) user.cpp
users.o:users.cpp users.h
	$(COMPILE) users.cpp
main.o:main.cpp
	$(COMPILE) main.cpp

clean:
	rm *~ *.o linux